package param

import "time"

type LoginParam struct {
	Name string `json:"name,omitempty"`
	Password string `json:"password,omitempty"`
	CaptId string `json:"captId,omitempty"`		// 验证码的id
	Code string `json:"code,omitempty"`	// 验证码的数值
}


type UsersInfo struct {
	ID        uint `json:"id,omitempty"`
	CreatedAt time.Time		`json:"created_at,omitempty"`
	UpdatedAt time.Time		`json:"update_at,omitempty"`
	Name string `json:"name,omitempty"`
	Realname string `json:"realname,omitempty"`
	Enable uint `json:"enable,omitempty"`		// 验证码的id
	Cellphone string `json:"cellphone,omitempty"`	// 验证码的数值
	Role 	`json:"role,omitempty"`
	Department	`json:"department,omitempty"`
}

type Users struct {
	ID        uint `json:"id,omitempty"`
	CreatedAt time.Time		`json:"created_at,omitempty"`
	UpdatedAt time.Time		`json:"update_at,omitempty"`
	Name string `json:"name,omitempty"`
	Passwd string `json:"passwd,omitempty" gorm:"type:varchar(20)"`
	Realname string `json:"realname,omitempty"`
	Enable uint `json:"enable,omitempty"`		// 验证码的id
	Cellphone string `json:"cellphone,omitempty"`	// 验证码的数值
	Role uint 	`json:"role,omitempty"`
	Department uint	`json:"department,omitempty"`
}

type Role struct {
	ID        uint `json:"id,omitempty"`
	CreatedAt time.Time		`json:"created_at,omitempty"`
	UpdatedAt time.Time		`json:"update_at,omitempty"`
	Name   string `json:"name"`
	Intro string `json:"intro,omitempty"`
	MenuList string `json:"menu_list,omitempty"`
	MenusList []*Menu	`json:"menusList,omitempty" gorm:"-"`
}


// 部门信息
type Department struct {
	ID        uint `json:"id,omitempty"`
	CreatedAt time.Time	`json:"created_at,omitempty"`
	UpdatedAt time.Time	`json:"update_at,omitempty"`
	ParentId uint	`json:"parent_id,omitempty"`
	Name   string `json:"name"`
	Leader string `json:"leader,omitempty"`
}

// 菜单表
type Menu struct {
	ID        uint `json:"id"`
	CreatedAt time.Time	`json:"created_at,omitempty"`
	UpdatedAt time.Time `json:"update_at,omitempty"`
	Name   string `json:"name"`
	Type uint	`json:"type,omitempty"`
	Icon   string `json:"icon"`
	Url   string `json:"url"`
	ParentId uint	`json:"parentId,omitempty"`
	Sort uint	`json:"sort,omitempty"`
	Permission string `json:"permission,omitempty"`
	Child []*Menu `json:"child,omitempty" gorm:"-"`
}